P2 presentation
Create a presentation that demonstrates your understanding of your implementation of the x86 compiler.
Format
As with the previous presentation, you can choose any form that you want, including:
- A video. For this presentation, it should be roughly 10-15 minutes long. An example video might include slides + a voice-over and / or tours of the code you have written.
- A zine or comic book. For this presentation, an 10-16 page booklet with a cover should be good.
- A written report. For this presentation, a 6-10 page report should be good.
- Another format. You can also propose another format to me!
Regardless of format, you will want to make careful editing decisions so that your presentation is clear and concise. You should not feel the need to include every detail of your implementation, but you should make sure to include all of the important details that are necessary to cover the points described below.
If you have any questions about the format, please let me know.
Contents
Whatever format you choose for your presentation, please make sure it address all of the following elements.
Implementation
- Briefly describe the overall structure of your implementation. What are the main components, and how do they interact with each other?
- Walk through the emitter, and briefly describe how you implemented each of the following features, noting in particular any interesting design decisions you made, or any challenges you faced:
- Printing
- Arithmetic
- Variables
- Conditionals
- Loops
- Functions
- A suggested improvement: A feature to add, or a different way of implementing an existing feature. Provide some details on how you would implement it. Which part(s) of the codebase would you modify, and how? (You do not need to actually implement the feature, but you should be able to describe how to implement it.)
Reflection
- What is something that you now understand much better than you did before we started the compiler? How do you know that you understand it better now?
- What is something that you want to learn more about? What is the first step or steps that you would take to learn more about it?
- What is something that you are proud of: A choice you made, or a bug you solved, or a realization you had while working on the compiler, etc.
Note that this is not necessarily an outline: You do not need to address each of these in order, and some may be addressed at the same time (e.g., pointing out something you are proud of during the tour of the code).
Grading
A presentation that does the following will earn a grade of “demonstrated”:
- The presentation is “complete”, meaning that it addresses all of the elements described above.
- The presentation is “clear”, meaning that it is understandable by anyone else in our class. Any terms, technologies, etc. that are not brought up in the course or its pre-requisites are defined.
- The presentation is “insightful”, meaning that you include your own observations, opinions, questions, or connections that are distinct from something that is literally in the course materials.
Submission
To submit your presentation, put it in a file named after yourself. Then, upload the file to our shared Google drive.
If you have any trouble uploading your presentation, please let me know!